package com.sscl.easyble.interfaces.connections

/**
 * BLE设备连接相关的回调
 *
 * @author jackie
 */
interface OnBleConnectStateChangedListener {

    /**
     * 设备已连接
     *
     * @param gattState GATT操作状态
     * [android.bluetooth.BluetoothGatt.GATT_SUCCESS]表示成功
     */
    fun onConnected(address:String,gattState: Int)

    /**
     * 设备已断开连接
     *
     * @param gattState GATT操作状态
     * [android.bluetooth.BluetoothGatt.GATT_SUCCESS]表示成功
     */
    fun onDisconnected(address:String,gattState: Int)

    /**
     * 连接超时
     */
    fun connectTimeout(address:String)


    /**
     * 设备正在连接
     *
     *  @param gattState GATT操作状态
     *  [android.bluetooth.BluetoothGatt.GATT_SUCCESS]表示成功
     */
    fun onConnecting(address:String,gattState: Int)

    /**
     * 设备正在断开连接
     *
     *  @param gattState GATT操作状态
     *  [android.bluetooth.BluetoothGatt.GATT_SUCCESS]表示成功
     */
    fun onDisconnecting(address:String,gattState: Int)

    /**
     * 未知的设备状态
     *
     * @param gattState GATT操作状态
     * [android.bluetooth.BluetoothGatt.GATT_SUCCESS]表示成功
     */
    fun onUnknownStatus(address: String, gattState: Int, newState: Int)

    /**
     *  发现设备的服务
     *  @param gattState GATT操作状态
     * [android.bluetooth.BluetoothGatt.GATT_SUCCESS]表示成功
     */
    fun onServicesDiscovered(address:String,gattState: Int)

    /**
     * 发现服务失败
     */
    fun onDiscoverServicesFailed(address: String)
}